/*
    XTU OJ: 1257
    by: fifth_light
*/

#include <stdio.h>
#include <stdint.h>
#include <inttypes.h>

#define TABLE_SIZE 48
int64_t table[TABLE_SIZE][TABLE_SIZE];

// 先打表为敬
void prepare_table() {
    table[0][0] = 1;
    for (int i = 1; i < TABLE_SIZE; i++) {
        for (int j = 0; j <= i; j++) {
            if (j == 0) {
                table[i][0] = table[i - 1][0];
            } else if (j == i) {
                table[i][i] = table[i - 1][j - 1];
            } else {
                table[i][j] = table[i - 1][j - 1] + table[i - 1][j];
            }
        }
    }
}

int64_t C(int a, int b) {
    return table[a][b];
}

int main(void) {
    prepare_table();
    int t;
    scanf("%d", &t);
    for(int i = 0; i < t; i++) {
        int n, m;
        scanf("%d%d", &n, &m);
        if ((n + m) % 2 != 0) {
            puts("0");
            continue;
        }
        int ones = (n + m) / 2;
        // int zeros = (n - m) / 2;
        printf("%" PRId64 "\n", C(n, ones));
    }
    return 0;
}
